package main
import "fmt"

/**
使用内置函数close可以关闭管道，当管道关闭后，就不能再向管道写数据了，但是仍然可以从该管道读取数据。
*/
func main() {
	// 管道的定义
	var pipe1 chan int = make(chan int, 3)

	// 向管道存入数据
	pipe1 <- 1
	pipe1 <- 2
	fmt.Println(pipe1)

	// 关闭管道 
	close(pipe1)
	// 再次写入数据 -- panic: send on closed channel
	// pipe1 <- 3 

	// 从管道读取数据
	num := <- pipe1
	fmt.Println(num)
}